package com.tanovo.service;


import com.tanovo.bo.DepartmentUserBo;
import com.tanovo.bo.DepartmentUserQuery;
import com.tanovo.domain.Department;
import com.tanovo.domain.UserBaseInfo;

import java.util.List;

public interface IDepartmentService {

    void addDepartment(Department department);


    void editDepartment(Department department);

    /**
     * 通过父id  查找子部门
     *
     * @param parentId
     * @return
     */
    List<Department> listbyParentId(Integer parentId);

    List<UserBaseInfo> userList(DepartmentUserQuery departmentUserQuery);

    /**
     * 添加部门员工
     *
     * @param departmentUserBo
     */

    void bindDepartmentUser(DepartmentUserBo departmentUserBo);

    /**
     * 删除部门员工
     *
     * @param departmentUserBo
     */
    void delDepartmentUser(DepartmentUserBo departmentUserBo);

    void delDepartment(List<Integer> departmentIdList);

    /**
     * 查找不在当前部门的员工列表
     * @param departmentUserQuery
     * @return
     */
    List<UserBaseInfo> userNotList(DepartmentUserQuery departmentUserQuery);
}
